专利摘要:
The invention relates to a method of selecting at least one of a plurality of predetermined services, the method comprising the steps of: - receiving by a calculation software (28) a request entered by a requestor, the request comprising at least one service component and an indication of an expected level of satisfaction; - construction by the calculation software (28) of a set of candidates, each candidate comprising a plurality of services, each service of each candidate being able to satisfy at least one component of the request; - Evaluation of each candidate by the calculation software (28), the evaluation comprising calculating an overall score of the candidate by a predetermined cost function, according to the expected level of satisfaction; - allocation to the applicant of the services of the candidate which optimizes the cost function.
公开号:FR3030168A1
申请号:FR1402857
申请日:2014-12-15
公开日:2016-06-17
发明作者:Helia Pouyllau;Emmanuel Dotaro;Ramos Mario Lopez
申请人:Thales SA;
IPC主号:
专利说明:

[0001] The present invention relates to a method of selecting at least one of a plurality of predetermined services that can be provided by at least one service provider, said services forming at least one service provider a part of a telecommunications network, a part of the services being nodes of the telecommunications network and another part of the services being links between said nodes, each service comprising at least one attribute, the method being implemented by a computer comprising calculation software.
[0002] The invention applies to the field of telecommunications networks, in particular to the provision of services, by a telecommunications network, to a group of applicants, following a request made by at least one applicant. For example, the invention applies to services provided by a dematerialized cloud computing network (for example capable of providing software services, computing services or storage services), to security services (for example a service provider). security level or security function to be provided by a network provider), or to network services (eg connectivity services with guaranteed features). The services are provided by telecommunications network resources, such as network resources or application resources, such as virtual machines, storage space, or network links. By "applicant" is meant a user of a telecommunications network who is able to enter a request to request the allocation of at least one service by the telecommunications network.
[0003] It is known to provide network services, among a set of available network services, to an applicant having entered a request defining his needs in terms of services. For example, it is known to use algorithms to determine a solution, consisting of a set of services responding to the request of the applicant.
[0004] However, such algorithms are not able to take into account a level of satisfaction required by the applicant, especially in contexts with strong requirements related to network security, integrity and confidentiality of information that transit over these networks, and at the expense of the various network resources.
[0005] In other words, the conventional algorithms are not appropriate to take into account the level of satisfaction required by the applicant, particularly in contexts 3030168 2 with priority and security requirements. However, in certain contexts of use, it is essential to assign security requirements (for example an encryption function or even a time availability of a resource) and dependency (for example a geographical placement exclusion). between resources), 5 associated with performance requirements (eg response time, or throughput), and to ensure that these requirements are met as best as possible. An object of the invention is to propose a method of choosing at least one service that is able to process requests from a user and to take into account the satisfaction of a quality of service expected by said requestor, for example , and in a non-exclusive manner, with respect to security and priority requirements relating to services provided by a telecommunications network. For this purpose, the subject of the invention is a method of the aforementioned type, comprising the steps of: receiving, by a calculation software, a request entered by a requestor, the request comprising at least one component relating to the services, the request further comprising an indication of an expected level of satisfaction relating to the satisfaction of at least one attribute of a component of the request; for each component of the request, identification by calculation software of the services needed to satisfy said component; Construction by the calculation software of a set of candidates, each candidate comprising a plurality of services, each service of each candidate being able to satisfy at least one component of the request; evaluation of each candidate by the calculation software, the evaluation comprising: for each service, the calculation of a satisfaction rate of each of the 25 attributes of the service with regard to the request, by a method of calculating predetermined satisfaction; the calculation of an overall score of the candidate by a predetermined cost function, as a function of the satisfaction rate of at least one service of the candidate with regard to the expected level of satisfaction; Identification of the candidate for whom the cost function reaches an optimum; allocation to the applicant of the services of the candidate which optimizes the cost function. Indeed, such a method of choice makes it possible to find a solution to this request by taking into account the level of satisfaction expected, for example with regard to security and priority requirements, by implementing a calculation of overall score taking into account a candidate's satisfaction rate with respect to the applicant's request.
[0006] According to other advantageous aspects of the invention, the method comprises one or more of the following characteristics, taken in isolation or in any technically possible combination: a link is a data transport service and in that a node is a storage service and / or a computing service and / or an application service; - the services are listed in a catalog, the number of services and / or the attributes of the services being likely to vary over time; the or each service provider comprises allocated services and unallocated services, the request includes information relating to the priority of said request, the method further comprising the steps of: identification of the services allocated following requests; previous ones among the plurality of services; first search, for the or each component of the request, for the existence, among the non-allocated services, of services satisfying the component; - if, among the non-allocated services, there is no satisfactory service at least one first component of the request, for each first component of the request, second search for the existence of services satisfying the first component among the services allocated to previous requests having a priority less than or equal to the priority of the new request; - deallocation of all or part of the allocated services that satisfy the first component of the request; at least one service has an attribute selected from the set consisting of: delay, bandwidth, throughput, jitter, loss rate, storage space, processor calculation frequency, availability, the robustness factor, the service provider, the location of the own resource to provide the service, the cost of configuring the service and the price, or a security attribute selected from the set consisting of: the level of securing, the characteristics of the encryption algorithm, the characteristics of the authentication algorithm, the characteristics of the confidentiality algorithm or the excluded countries, regions and / or service providers and the encryption key size ; the step of constructing a set of candidates comprises the random generation of each candidate, each service of each candidate satisfying the corresponding component of the request; The method comprises the step of writing in a memory of the connectivity links existing between the different services; the request comprises at least one constraint forming a condition relating to services corresponding to at least two distinct components of said request; The constraints associated with at least two components of the request include constraints relating to the links between the nodes corresponding to each component, and / or relative placement constraints between links and / or nodes corresponding to each component; the step of constructing a set of candidates comprises: selecting a predetermined percentage of candidates from among the candidates for whom the cost function is closest to an optimum, to form a parent generation of candidates; calculating at least one new candidate from at least one candidate of the parent-generation, the calculation comprising: the choice of a candidate of the parent-generation; for each service of the selected candidate of the parent generation, associated with a component of the request that does not include a constraint, the replacement of the service by a service chosen randomly from the services that satisfy the component; 20 - for each other service, the replacement of the service by a service chosen randomly from among the services that satisfy at least the same constraints of the component as the corresponding service of the chosen candidate of the parent generation; the evaluation step comprises the penalization of the overall score of a candidate if at least one constraint is not satisfied by a service of the candidate; the evaluation step comprises penalizing the overall score of a candidate if, for at least one constraint not satisfied by a service of the candidate, the difference between the level of satisfaction expected and the level of satisfaction provided by said service is greater than or equal to a threshold, the threshold being defined by the applicant or calculated according to predetermined rules; the method further comprises, for each service, a step of writing, in a memory: for each attribute, a method of calculating a satisfaction rate; for each attribute, a utility function for calculating a score of the attribute for a given satisfaction rate value; - for each attribute, a self-weight; 3030168 5 - for each tuple of attributes, of a joint weight; - the cost function, the cost function being of the form: C (X) = min (ui (xi) ui (xj)). / ((i, j)) + max (ui (xi) ui (xi)) .1 / ({i, j}) 1 / (ti, i)) <o mi, i)) <0 i = 1 (tt, (xi)) (Pi - J # 1 IMOD ') where min is the minimum operator, max is the maximum operator, X is a vector associated with a candidate, each element of the vector X is a service the candidate and being equal to the satisfaction rate of a component of the request by the corresponding service, where xi, xi are respectively the satisfaction rate of the component relating to the attribute i and the component relating to the attribute j, and where u ,, is the utility function relative to the attribute i, (1), is the relative weight relative to the attribute i, I ({i, j}) the joint weight relative to the attributes i The invention also relates to a device for selecting at least one service capable of being provided by a telecommunications network among a plurality of predetermined services and each comprising at least one attribute, the device comprising calculation means associated with storage means for implementing the method as defined above. The invention will be better understood with the aid of the description which follows, given solely by way of nonlimiting example and with reference to the appended drawings, in which: FIG. 1 is a schematic representation of a device according to the invention; Figure 2 is a schematic representation of a network services configuration corresponding to a request expressed by a requestor; FIG. 3 is a flowchart of a first part of a method for calculating a solution according to the invention; and FIG. 4 is a flowchart of a second part of the method of FIG. 3.
[0007] FIG. 1 shows a device 2 for selecting at least one service according to the invention. The device 2 is adapted to receive a service request and to calculate, among a plurality of services accessible via a telecommunications network, a solution composed of a set of services satisfying the request.
[0008] The services form at least a part of the telecommunications network, part of the services being nodes of the telecommunications network and another part of the services being links between said nodes. A link is preferably a data transport service. In addition, a node 5 is preferably a storage service, a calculation service or an application service. Said links and said nodes are for example provided by service providers and listed in a catalog. The properties of the services and their number may vary over time.
[0009] By "request" is meant a set of conditions determined by an applicant which define at least one service which the applicant wishes to benefit from, as well as, for all or part of the services, a desired level of satisfaction for the or each service. For example, as illustrated by FIG. 2, following a request from a requestor, the device 2 is able to choose a first virtual machine VM1, a second virtual machine VM2 and a storage space, connected to each other and to the applicant Link 1, Link 2, Link 3 and Link 4 network links. The first virtual machine VM1, the second virtual machine VM2 and the storage space are nodes of the network, while the network links Link 1, Link 2, Link 3 20 and Link 4 are network links. As illustrated in FIG. 1, the device 2 comprises a processing unit 4, forming calculation means, connected to a database 6, forming storage means, and to an input interface 8. The processing unit 4 is adapted to calculate a solution adapted to respond to a request entered by a requestor via the input interface 8. The database 6 is adapted to store a plurality of tables 10. The database 6 comprises a table of services 12, a table 14 of allocated services, a table 16 of connectivity links and a calculation table 18. The service table 12 is adapted to store a description of each service.
[0010] Each description is specific to a corresponding service. Each service is identified by a unique identifier. Advantageously, the descriptions stored in the services table 12 have a structure independent of the service considered and common to all services. Each description has a plurality of fields, each field being relative to an attribute. Attribute is one of the characteristics of a service. The attributes of a service are, for example, and without limitation, the technical characteristics of the service, such as a delay, a bandwidth, a bit rate, a jitter, a loss rate, a storage space. , a processor calculation frequency, an availability, a robustness factor, the service provider, the location of the own resource to provide the service (i.e., a country, a region, or a provider) , a service configuration cost and a price. In addition, the attributes of a service include, for example, and in a nonlimiting manner, a security level, the characteristics of an encryption algorithm, the characteristics of an authentication algorithm, the characteristics of an authentication algorithm. confidentiality, an encryption key size, the country or countries, regions and / or 10 excluded service providers. Such attributes are called "security". Each attribute is identified by a unique identifier. For each service, the value taken by each attribute is service specific. For example, for a given service that does not have a given attribute, the corresponding field is empty.
[0011] Each service belongs to a class of services. Services of the same class have common technical characteristics. Such classes are for example, and not limited to, security services, storage services, virtual machine services, or network connectivity services. The allocated services table 14 is adapted to store the identifier of the services allocated to the applicant or to other applicants as a result of previous requests. Preferably, for each service allocated, the table 14 is adapted to store the value of an indicator of the priority of the request after which the service has been allocated. Optionally, for each allocated service, the table 14 is adapted to store the load associated with the service, i.e., a measure of its usage. The table 16 connectivity links is able to store the network links between the different services. For example, for each of the entries in the link table 16, the link table 16 includes a first field and a second field. The first field comprises the identifier of a first service, and the second field comprises the identifier of all the second services for which there is network connectivity with the first service. The contents of the calculation table 18 will be described later. Advantageously, the tables 10 of the database 6 are updated each time the catalog of the or each service provider is modified.
[0012] The processing unit 4 comprises a memory 20, a processor 22, and a transceiver 24. The memory 20 is adapted to store a plurality of software.
[0013] The processor 22 is capable of executing the software stored in the memory 20. In particular, the memory 20 is adapted to store a reading software 26 and a calculation software 28. The transceiver 24 is adapted to receive the data stored in the memory 20. queries entered via the input interface 8.
[0014] The processing unit 4 is further connected to a telecommunications network to identify the services that the network is capable of providing. The processing unit 4 is furthermore able to determine the load associated with each service. The reader software 26 is adapted to read the contents of the database 6, in particular to read the contents of each of the tables 10 of the database 6. The calculation software 28 is adapted to calculate a solution, when it exists, at the request entered by the applicant via the input interface 8. Preferably, the calculation software 28 is adapted to determine a solution, formed by a set of services, such that the load is distributed between the different services. In particular, the calculation software 28 is able to determine, for a given request, a solution that minimizes the variance of the load on all the services that satisfy the request of the requester. Each request comprises a plurality of components. Each component is relative to a desired class of service. For each component, each request also includes at least one criterion. Each criterion relates to the attributes expected for a service of the class associated with said component. In addition, each request comprises for example at least one constraint relating to at least two services. By "constraint" is meant, within the meaning of the present invention, a condition relating to the value of an attribute common to at least two distinct services.
[0015] For example, each request includes at least one constraint on connectivity between two or more services, or relative placement of resources providing at least two services. For each criterion and for each constraint, the request also includes the expected level of satisfaction, as well as an indication as to whether the expected level of satisfaction is strictly respected by the corresponding service. "Service with strict expected satisfaction" means a service for which the service provided can not lead to a satisfaction level value that is less than the value of the level of satisfaction requested. As a variant, the indication relative to the strict respect or not of the level of satisfaction expected, by the corresponding service, is determined by the device 2 according to rules for example defined by an administrator.
[0016] For example, services are authorized for which the difference between the expected level of satisfaction and the level of satisfaction provided by said service is less than or equal to a threshold, the threshold being defined by the applicant or calculated according to predetermined rules.
[0017] Each request also includes an indicator of the priority of the request. In addition, each request includes a level of satisfaction expected by component and / or by group of components. For example, each request further includes an objective, as defined later. During an initial configuration step, each service is registered in the service table 12. In particular, each service is identified by a unique identifier, and associated with a description including the values of the attributes of the service. In addition, during the initial step, an administrator defines, for each attribute, rules relating to the modes of calculating the satisfaction of a criterion of a request by a service or a plurality of services, such satisfaction being again called "satisfaction rate". Such rules include, for example, methods for calculating the value of the attributes of a plurality of joined services. Such modes comprise, for example: the comparison of two attribute values with one another: for example the use of operators strictly greater, strictly less, less than or equal to, greater than or equal to; - the composition of two attribute values between them: for example the addition, the multiplication, the use of a maximum operator, the use of a minimum operator, etc. ; the decomposition of two attribute values between them: for example subtraction, division, use of a maximum operator, use of a minimum operator, etc. During the initial step, the administrator also defines a plurality of cost functions, also called "objective functions", as defined later, and a plurality of coefficients, and writes the functions and coefficients 30 in the table. 18. The definition of an objective function is as follows. For each identifier attribute i, the administrator defines a corresponding utility function u. Each utility function u, has for variable a rate xk ,. The rate xk, also called the "satisfaction rate", is a measure, for the identifier attribute i of a service k, of achieving the level of satisfaction expected for a given criterion of the request.
[0018] In addition, for each attribute i, the administrator writes in the calculation table 18 a weight 1) specific to the identifier attribute i. Moreover, for each tuple {i, j, ...} of attrit * it having at least two distinct attributes i, j, the administrator writes in the calculation table 18 a joint weight I ({i, j ..}).
[0019] By "tuple" is meant a vector having the identifiers of at least two service attributes. The method of selecting at least one service according to the invention will now be described with reference to FIGS. 3 and 4. During a interrogation step 100, the requestor enters a request via the input interface 8 Optionally, the requester selects an objective function from the objective functions predefined by the administrator. As a variant, the objective function depends on the requester and / or the state of the system, according to a rule predetermined by the administrator. For example, each request is stored in the device 2 in the form of a component vector, the position of each component in said vector forming an identifier of said component. During a next first search step 105, for each component of the request, the reading software 26 reads the services table 12 and the table 14 of the allocated services.
[0020] For each unallocated service of the service table 12, i.e., whose identifier is absent from the allocated services table 14, the calculation software 28 determines whether the service is suitable for satisfying the component considered, ie to satisfy the component and associated criteria. In a next step 110, the calculation software 28 determines whether, for each component, there is at least one of the unallocated services that is suitable for satisfying the component. If, for each component, there is at least one service among the unallocated services that is capable of satisfying the component, then in a next selection step 115, the calculation software 28 calculates a combination of services that satisfies at best on request. The selection step 115 will be described later. If, for at least one component, still called "unsatisfied component", there is no service among the unallocated services that is able to satisfy the component with regard to the level of satisfaction expected by the applicant, or if, during the selection step 115, the calculation software 28 fails to determine a combination of services satisfying the request, then, in a next step 120, the calculation software 28 determines whether the value of the priority of the request is greater than or equal to a predetermined threshold. If the priority value of the request is less than the predetermined threshold, then, in a next step 125, the computing device 2 issues an error message to the caller. If the value of the priority of the request is greater than or equal to the predetermined threshold, then, during a next step 130 of the second search, the reading software 26 reads the table 14 of the allocated services. The calculation software 28 determines whether, for each unsatisfied component, there is at least one of the allocated services that is suitable for satisfying the component. The calculation software 28 then retains, for the calculation of a solution in response to the request of the requestor, the or each service among the allocated services which is suitable for satisfying said component. If there is at least one unsatisfied component for which there is no service among the allocated services that is suitable for satisfying the unsatisfied component, then, in a next step 120, the computing device 2 sends an error message in accordance with step 125. Advantageously, during step 130 of the second search, the calculation software 28 sorts, in order of priority, the services for which an identifier is stored in the table 14. allocated services. Then the computation software 28 searches, starting with the services allocated following the requests with the lowest priority, the services that satisfy the unsatisfied components. The search step is interrupted as soon as, for each unsatisfied component, the calculation software 28 finds a service satisfying the unsatisfied component among the services which have been allocated following a request whose priority is lower than the priority of the current query.
[0021] The selection step 115 will now be described with respect to FIG. 4. During an initialization step 200, the calculation software 28 creates a plurality of candidates forming a set called "candidate generation". By "candidate" is meant a set of services representing a potential solution to the plaintiff's claim. For example, each candidate is a tuple with at least one unique identifier of a service. In particular, each candidate, for each component of the request, includes a unique identifier of a service satisfying the component of the request and the associated criteria, also called "candidate service". For example, for a given component of the request, the corresponding service of the candidate is randomly selected from the services satisfying the component and associated criteria.
[0022] In particular, the candidates are generated as follows. For each component of the request, the calculation software 28 randomly chooses a candidate service from the unallocated services. If, for the component under consideration, the request includes constraints, then for each other component, also called "dependent component", of the request which has a relation, via the constraint, with the component considered, then the calculation software 28 randomly chooses a candidate service for the dependent component that satisfies the dependent component and the constraint. For example, each candidate is stored in the device 2 as a vector of unique service identifiers. For example, the position of each element of the vector corresponds to the identifier of the corresponding component of the request. In addition, during the initialization step 200, the calculation software 28 identifies the objective function chosen by the applicant. Alternatively, the identification depends, for example, on the requester, the status of the services, or any other policy defined by the administrator. The objective function is adapted to calculate an overall score for each candidate. The objective-function integrates the utility functions ui, the eigenweights (I), and the joint weights / ({i, j, ...}), relating to the attributes i, j to which the request relates. For example, the objective-function is written: C (X) min (ui (xi); ui (xj)). MO)) + max (ti (xi); ui (xj)). 1 / ({i, j)) 1 iut, ip <on + (Pi -III (ti, i)) 1 i = 1 2 20 where min is the minimum operator, max is the maximum operator, X is a vector associated with a candidate, each element of the vector X corresponding to a service of the candidate and being equal to the satisfaction rate of a criterion of the request by the corresponding service, where xi, xi are respectively the satisfaction rate of the relative component to the attribute i and the component relating to the attribute j, and where ui, is the utility function relative to the attribute i, 0, is the relative weight relative to the attribute i, I ({ i, j}) the joint weight relative to the attributes i, j as defined previously and 1 / ({i, 11) 1 denotes the absolute value of the joint weight / ({i, j}). Such a function-objective is still called "Choquet integral". During a next test step 205, the calculation software 28 records, for each candidate, the overall score determined in a step 225 described later. The overall score is for example representative of the level of satisfaction 3030168 13 of the criteria of the request by the candidate and the value of the function-objective for the candidate. In particular, the calculation software 28 records the candidate for which the objective function reaches an optimum. In a next step 210, if a predetermined termination rule is satisfied, then, in a final step 215, the choice device 2 transmits, for example, the candidate who optimizes the objective function to a unit of choice. allocation of services (not shown). If the candidate has allocated services, the allocation unit will deallocate all or part of the allocated services, and allocate them to the requestor who entered the request.
[0023] Such a termination rule is for example the achievement of the level of satisfaction expected by the applicant. In addition, such a termination rule is for example the achievement of a maximum number of calculation cycles. Alternatively, such a termination rule is the attainment of a minimum relative variation in the value taken by the objective function between the best overall solution (i.e., the solution having the best function score). objective on all previous cycles) and the best solution found at the end of the current cycle. If the termination rule is not satisfied, then, in a next step 220, the computation software 28 creates a new plurality of candidates, called "daughter-generation".
[0024] For example, the calculation software 28 creates at least a portion of the daughter-generation candidates according to the initialization step 200. For example, the daughter-generation has a predetermined percentage of the previous generation candidates, so-called "Mother-generation". The generation-mother candidates belonging to the girl-generation are the candidates whose overall score is better than the overall score of the other candidates with respect to the objective function to be optimized. Preferably, at least one candidate of the generation-daughter depends on at least one candidate of the previous generation, also called "mother-generation". For example, the computation software 28 creates at least one daughter-generation candidate by modifying a parent-generation candidate, or by crossing at least two parent-generation candidates. By modification, we mean the arbitrary choice of a first service of the candidate and its replacement by a second service that also satisfies the criterion or criteria, whose expected satisfaction is strict, satisfied by the first service.
[0025] By crossing is meant the replacement of a plurality of services of a first candidate satisfying the request by the corresponding services of a second candidate satisfying the request. The algorithm for creating generation-girl candidates from parent-generation candidates is, for example, a conventionally known genetic algorithm. During a next decoding step 225, the reading software 26 reads the link table 16, and the calculation software 28 determines, for each candidate of the generation-daughter, whether the connectivity links between the services satisfy the constraints on the corresponding components of the query.
[0026] For example, candidates whose services do not satisfy the connectivity constraints of the request, and / or the constraints for which the expected satisfaction rate is 100%, are penalized. For example, in the case of a goal-function to be maximized, a low overall score is assigned to such candidates. Then the calculation software 28 calculates the overall score of each candidate of the generation-girl. Then the calculation software 28 records said overall score, in accordance with the test step 205. As a variant, during the step 220, the modifications of the candidates take into account the connectivities recorded in the link table 16. The modifications and the crossings take into account the constraints between the 20 components of the query. For the modifications, if a first service to be replaced is associated with a component of the request having dependent components, then the first service is replaced by a second service that satisfies at least the same constraints on the dependent components as the first service.
[0027] For crossovers, if each service of a first set of services to be replaced is associated with a component of the request having dependent components, then the first set of services is replaced by a second set of services, such as each service of the service. second set satisfies, for the corresponding component of the request, at least the same constraints on the dependent components as the associated service of the first service together. In a variant, the creation algorithm is a conventionally known ant algorithm. The method of choice according to the invention makes it possible to process security, priority and satisfaction requirements by defining service satisfaction rate calculation methods with regard to a request made by a requestor.
[0028] In addition, the solution provided at the end of the process is optimal or quasi-optimal, because of the implementation of an objective function, the solution provided being a solution which optimizes, when possible, the objective function. In addition, the deallocation of previously allocated services to higher priority requests improves the chances of finding a solution to satisfy a priority request. The implementation of service relationship constraints allows for favoring or disfavouring certain candidates based on an applicant's choice policy, for example a policy on connectivity between services (for example, the applicant does not not want all services to be provided by a single provider of the telecommunications network) or a placement policy (for example, the applicant does not want a service to be provided by an IT resource located in a given geographical area) . The implementation of a random generation of candidates allows a large variety of said candidates, which increases the chances of convergence towards an optimal solution with regard to the objective function. The writing in, a memory, connectivity links existing between the various services allows rapid processing of said connectivity links, especially at the time of construction of candidates.
[0029] In addition, storage in memory of said connectivity links also allows rapid processing of dependency constraints. For example, when generating a new generation of candidates from a previous generation whose candidates satisfy the connectivity constraints of the request, the presence in memory of the connectivity links makes it possible to create new candidates maintaining the links of connectivity of the previous generation candidates. This allows a faster convergence to an optimal solution by avoiding the generation of new candidates that do not meet the connectivity constraints, and therefore do not represent potential solutions to the query. In addition, the penalization of the overall score of a candidate if the dependence constraints are not satisfied by at least one service of the candidate allows, in the implementation of genetic algorithms or ant algorithms, a convergence more fast to a solution that satisfies the request.
权利要求:
Claims (14)
[0001]
CLAIMS1- A method of selecting at least one of a plurality of predetermined services to be provided by at least one service provider, said services forming at least a part of a telecommunications network, a part of the services being nodes of the telecommunications network and another part of the services being links between said nodes, each service comprising at least one attribute, the method being implemented by a computer comprising a calculation software (28) and being characterized in that it comprises the steps of: - receiving by the calculation software (28) a request entered by a requestor, the request comprising at least one component relating to the services, the request further comprising an indication relating to a relative expected satisfaction level to the satisfaction of at least one attribute of a component of the request; for each component of the request, identification by calculation software (28) of the services needed to satisfy said component; - construction by the calculation software (28) of a set of candidates, each candidate comprising a plurality of services, each service of each candidate being able to satisfy at least one component of the request; - evaluation of each candidate by the calculation software (28), the evaluation comprising: - for each service, the calculation of a satisfaction rate (xk,) of each of the attributes of the service with respect to the request, by a predetermined satisfaction rate calculation method; calculating an overall score of the candidate by a predetermined cost function, as a function of the satisfaction rate (xk,) of at least one service of the candidate with regard to the expected level of satisfaction; - identification of the candidate for whom the cost function reaches an optimum; allocation to the applicant of the services of the candidate which optimizes the cost function.
[0002]
2- Method according to claim 1, characterized in that a link is a data transport service and in that a node is a storage service and / or a calculation service and / or an application service. 3030168 17
[0003]
3- Method according to claim 1 or 2, characterized in that the services are listed in a catalog, the number of services and / or the attributes of the services being likely to vary over time. 5
[0004]
4. A method according to claim any one of the preceding claims, characterized in that the or each service provider comprises allocated services and unallocated services, in that the request includes information relating to the priority of said query, the method further comprising the steps of: - identifying allocated services following previous requests among the plurality of services; - first search (105), for the or each component of the request, of the existence, among the non-allocated services, of services satisfying the component; if, among the non-allocated services, there is no satisfactory service at least one first component of the request, for each first component of the request, the second search (130) for the existence of services satisfying the first component among the services allocated to previous requests having a priority lower than or equal to the priority of the new request; - deallocation of all or part of the allocated services which satisfy the first component of the request.
[0005]
5. Method according to any one of the preceding claims, characterized in that at least one service has an attribute selected from the set consisting of: the delay, the bandwidth, the rate, the jitter, the rate of loss, storage space, processor calculation frequency, availability, robustness factor, service provider, location of own resource to provide the service, cost of service configuration and price , or a security attribute selected from the set consisting of: the security level, the characteristics of the encryption algorithm, the characteristics of the authentication algorithm, the characteristics of the confidentiality algorithm the one or more excluded countries, regions and / or service providers and encryption key size.
[0006]
6. A method according to any one of the preceding claims, characterized in that the step of constructing a set of candidates comprises the random generation of each candidate, each service of each candidate satisfying the corresponding component of the request. 3030168 18
[0007]
7.- Method according to any one of the preceding claims, characterized in that it comprises the step of writing in a memory (16) connectivity links existing between the different services. 5
[0008]
8.- Method according to any one of the preceding claims, characterized in that the request comprises at least one constraint forming a condition relating to services corresponding to at least two distinct components of said request. 10
[0009]
9. A method according to claim 8, characterized in that the constraints associated with at least two components of the request include constraints relating to the links between the nodes corresponding to each component, and / or relative placement constraints between links and / or nodes corresponding to each component. 15
[0010]
10. A method according to claim 8 or 9, characterized in that the step of constructing a set of candidates comprises: selecting a predetermined percentage of candidates from among the candidates for whom the cost function is the most close to an optimum, to form a parent generation of candidates; calculating at least one new candidate from at least one candidate of the mother-generation, the calculation comprising: the choice of a candidate of the mother-generation; for each service of the selected candidate of the parent generation, associated with a component of the request that does not involve any constraint, the replacement of the service by a service chosen at random from the services that satisfy the component; for each other service, the replacement of the service by a randomly selected service among the services that satisfy at least the same 30 constraints of the component as the corresponding service of the chosen candidate of the parent generation.
[0011]
11. A method according to any one of claims 8 to 10, characterized in that the evaluation step comprises the penalization of the overall score of a candidate if at least one constraint is not satisfied by a service of the candidate. 3030168 19
[0012]
12. Method according to any one of the preceding claims, characterized in that the evaluation step comprises the penalization of the overall score of a candidate if, for at least one constraint not satisfied by a service of the candidate, the difference between the expected level of satisfaction and the level of satisfaction provided by said service is greater than or equal to a threshold, the threshold being defined by the applicant or calculated according to predetermined rules.
[0013]
13.- Method according to any one of the preceding claims, characterized in that it further comprises, for each service, a step of writing, in a memory (6): - for each attribute (i), d a method of calculating a satisfaction rate (xki); for each attribute (i), a utility function (4) for calculating a score (u, (xk,)) of the attribute for a given satisfaction rate value (xk,); for each attribute (i), of a self-weight (Pi), for each tuple of attributes ({i, j, ...}), of a joint weight (/ ({i , j, ...})); - the cost function, the cost function being of the form: C (X) = min (ui (xi) ui (xj)). MD) + max (ui ( xi) ui (xj)). 1 / ({i, j}) 1 / (ti, ip <0 l ({i, j}) <o I1ii (Xi) - j * ii = 1 where min is the minimum operator, max is the maximum operator, X is a vector associated with a candidate, each element of the vector X corresponding to a service of the candidate and being equal to the satisfaction rate of a component of the request by the corresponding service, where x ,, xi are respectively the satisfaction rate of the component relating to the attribute i and the component relating to the attribute j, and where uh is the utility function relative to the attribute i, 11), is the relative weight relative to the attribute i, / ({i, j}) the joint weight relative to the attributes i, j and I / ({i, j}) 1 denotes the absolute value of the joint weight MO). 25
[0014]
Apparatus (2) for selecting at least one service capable of being provided by a telecommunications network from a plurality of predetermined services and each comprising at least one attribute, the device (2) being characterized in that it comprises calculation means (4) associated with storage means (6) for implementing the method according to any of claims 1 to 13.
类似技术:
公开号 | 公开日 | 专利标题
EP3035647B1|2019-12-04|Method to jointly select cloud computing and network services
CN103729250B|2017-04-12|Method and system to select data nodes configured to satisfy a set of requirements
US8589330B2|2013-11-19|Predicting or recommending a users future location based on crowd data
US20120290565A1|2012-11-15|Automatic social graph calculation
KR20160065923A|2016-06-09|Systems and methods for mapping and routing based on clustering
RU2693637C2|2019-07-03|Service integration client platform
US20150100661A1|2015-04-09|Systems and methods for mapping and routing based on clustering
FR2996018A1|2014-03-28|DEVICE AND METHOD FOR MANAGING ACCESS TO A SET OF COMPUTER RESOURCES AND NETWORKS PROVIDED TO AN ENTITY BY A CLOUD COMPUTING SYSTEM
US20180033077A1|2018-02-01|Method and system for generation of parameters
US10715638B2|2020-07-14|Method and system for server assignment using predicted network metrics
Mathur et al.2017|Issues and challenges in convergence of big data, cloud and data science
WO2016092218A1|2016-06-16|Means for determining a level of relevance of a resource in an information-processing system
EP2446360B1|2021-05-19|Technique for determining a chain of basic functions associated with a service
FR3100677A1|2021-03-12|Blockchain-based domain name management system
US10417403B2|2019-09-17|Automation authentication and access
CN109918678A|2019-06-21|A kind of field meanings recognition methods and device
US10210457B1|2019-02-19|Statistical model for estimating unique users from unauthenticated cookies
FR2962620A1|2012-01-13|ACCESS TO A NODE NETWORK DISTRIBUTED OVER A COMMUNICATION ARCHITECTURE USING A TOPOLOGY SERVER WITH MULTICRITERIAL SELECTION
WO2010089316A1|2010-08-12|Method for managing data stream exchanges in a standalone telecommunications network
EP2190144A1|2010-05-26|Method and device for managing connections between a plurality of embedded applications on a mobile terminal and a plurality of interfaces for accessing wireless communication networks
Latif et al.2021|A novel cloud management framework for trust establishment and evaluation in a federated cloud environment
EP2860630A1|2015-04-15|Data transfer method in a dynamic environment
KR20210011114A|2021-02-01|Proxy driving service system by using blockchain
US20210233126A1|2021-07-29|Customizable formula based dynamic api evaluation using a database system
US11265393B2|2022-03-01|Applying a data valuation algorithm to sensor data for gateway assignment
同族专利:
公开号 | 公开日
EP3035647B1|2019-12-04|
US20160173404A1|2016-06-16|
EP3035647A1|2016-06-22|
ES2775429T3|2020-07-27|
FR3030168B1|2017-01-13|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US20130301431A1|2012-05-11|2013-11-14|Steven J. Izzo|Apparatus and method for selecting service quality metrics for managed services quality assurance|
JP2003248668A|2002-02-26|2003-09-05|Hitachi Ltd|Data center resource management method and operation method|
US20050071469A1|2003-09-26|2005-03-31|Mccollom William G.|Method and system for controlling egress traffic load balancing between multiple service providers|
JP4129988B2|2005-11-10|2008-08-06|インターナショナル・ビジネス・マシーンズ・コーポレーション|How to provision resources|JP6705443B2|2015-03-30|2020-06-03|日本電気株式会社|Data allocation destination determination device, method and program|
JP2017005474A|2015-06-09|2017-01-05|株式会社東芝|Communication device, communication system, communication method, program, and terminal device|
US10231084B2|2015-08-14|2019-03-12|Aeris Communications, Inc.|System and method for monitoring devices relative to a learned geographic area|
US9774994B2|2015-08-14|2017-09-26|Aeris Communications, Inc.|System and method for monitoring devices relative to a user defined geographic area|
US10437575B2|2015-08-14|2019-10-08|Aeris Communications, Inc.|Aercloud application express and aercloud application express launcher|
US10648823B2|2017-06-22|2020-05-12|Aeris Communications, Inc.|Learning common routes and automatic geofencing in fleet management|
US10735904B2|2017-06-22|2020-08-04|Aeris Communications, Inc.|System and method for monitoring location and activity of devices|
US11132636B2|2017-06-22|2021-09-28|Aeris Communications, Inc.|System and method for monitoring and sharing location and activity of devices|
US11122607B2|2018-07-02|2021-09-14|Telefonaktiebolaget Lm Ericsson |Resource scheduling for uplink reporting|
US11188637B1|2020-06-28|2021-11-30|Mark Lawson|Systems and methods for link device authentication|
CN112787870B|2021-02-25|2021-11-02|苏州大学|Parallel flexible Skyline service discovery method with service quality perception|
法律状态:
2015-12-31| PLFP| Fee payment|Year of fee payment: 2 |
2016-06-17| PLSC| Search report ready|Effective date: 20160617 |
2016-12-29| PLFP| Fee payment|Year of fee payment: 3 |
2018-01-02| PLFP| Fee payment|Year of fee payment: 4 |
2019-12-30| PLFP| Fee payment|Year of fee payment: 6 |
2021-09-10| ST| Notification of lapse|Effective date: 20210806 |
优先权:
申请号 | 申请日 | 专利标题
FR1402857A|FR3030168B1|2014-12-15|2014-12-15|METHOD FOR CHOOSING AT LEAST ONE SERVICE AND ASSOCIATED DEVICE|FR1402857A| FR3030168B1|2014-12-15|2014-12-15|METHOD FOR CHOOSING AT LEAST ONE SERVICE AND ASSOCIATED DEVICE|
EP15200077.4A| EP3035647B1|2014-12-15|2015-12-15|Method to jointly select cloud computing and network services|
ES15200077T| ES2775429T3|2014-12-15|2015-12-15|Procedure for choosing at least one service and associated device|
US14/969,618| US20160173404A1|2014-12-15|2015-12-15|Method to jointly select cloud computing and network services and associated device|
[返回顶部]